package com.yida.gwj.api.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.common.core.annotation.Excel;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 银行信息对象 finance_bank
 *
 * @author lqq
 * @date 2022-12-30
 */

public class GwjFinanceBank implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	private Long id;

	/**
	 * 银行ID
	 */
	@NotNull(message = "银行不能为空")
	private Long bankId;

	/**
	 * 银行名称
	 */
	@Excel(name = "银行名称")
	@NotBlank(message = "银行不能为空")
	private String bankName;

	/**
	 * 账户类型（1：原始户/2：本金户/3：结算户）
	 */
	@Excel(name = "账户类型", readConverterExp = "1=原始户,2=本金户,3=结算户")
	@NotBlank(message = "账户类型不能为空")
	private String bankAccountType;

	/**
	 * 银行帐号
	 */
	@Excel(name = "银行帐号")
	private String bankAccount;

	/**
	 * 账户余额
	 */
	@Excel(name = "账户余额")
	private BigDecimal bankAccountMoney;

	/**
	 * 建账日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
	@NotNull(message = "创建日期不能为空")
	private Date createDate;

	/**
	 * 活期余额
	 */
	@Excel(name = "活期余额")
	private BigDecimal aliveMoney;

	/**
	 * 定存余额
	 */
	@Excel(name = "定存余额")
	private BigDecimal timeMoney;

	/**
	 * 国债余额
	 */
	@Excel(name = "国债余额")
	private BigDecimal debtMoney;

	/**
	 * 可用金额
	 */
	@Excel(name = "可用金额")
	private BigDecimal usableMoney;

	/**
	 * 是否对接银行，默认为0 未对接，1已对接
	 */
	@Excel(name = "是否对接银行", readConverterExp = "0=未对接,1=已对接")
	@NotBlank(message = "是否对接不能为空")
	private String portFlag;

	/**
	 * 是否已删除 默认为0 正常，2已删除
	 */
	private String delFlag;

	/**
	 * 地区ID
	 */
	@Excel(name = "地区ID")
	@NotNull(message = "地区不能为空")
	private Long areaId;

	/**
	 * 备注
	 */
	@Excel(name = "备注")
	private String remark;

	private BigDecimal depositMoney;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getBankId() {
		return bankId;
	}

	public void setBankId(Long bankId) {
		this.bankId = bankId;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getBankAccountType() {
		return bankAccountType;
	}

	public void setBankAccountType(String bankAccountType) {
		this.bankAccountType = bankAccountType;
	}

	public String getBankAccount() {
		return bankAccount;
	}

	public void setBankAccount(String bankAccount) {
		this.bankAccount = bankAccount;
	}

	public BigDecimal getBankAccountMoney() {
		return bankAccountMoney;
	}

	public void setBankAccountMoney(BigDecimal bankAccountMoney) {
		this.bankAccountMoney = bankAccountMoney;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public BigDecimal getAliveMoney() {
		return aliveMoney;
	}

	public void setAliveMoney(BigDecimal aliveMoney) {
		this.aliveMoney = aliveMoney;
	}

	public BigDecimal getTimeMoney() {
		return timeMoney;
	}

	public void setTimeMoney(BigDecimal timeMoney) {
		this.timeMoney = timeMoney;
	}

	public BigDecimal getDebtMoney() {
		return debtMoney;
	}

	public void setDebtMoney(BigDecimal debtMoney) {
		this.debtMoney = debtMoney;
	}

	public BigDecimal getUsableMoney() {
		return usableMoney;
	}

	public void setUsableMoney(BigDecimal usableMoney) {
		this.usableMoney = usableMoney;
	}

	public String getPortFlag() {
		return portFlag;
	}

	public void setPortFlag(String portFlag) {
		this.portFlag = portFlag;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public Long getAreaId() {
		return areaId;
	}

	public void setAreaId(Long areaId) {
		this.areaId = areaId;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public BigDecimal getDepositMoney() {
		return depositMoney;
	}

	public void setDepositMoney(BigDecimal depositMoney) {
		this.depositMoney = depositMoney;
	}

	@Override
	public String toString() {
		final StringBuffer sb = new StringBuffer("GwjFinanceBank{");
		sb.append("id=").append(id);
		sb.append(", bankId=").append(bankId);
		sb.append(", bankName='").append(bankName).append('\'');
		sb.append(", bankAccountType='").append(bankAccountType).append('\'');
		sb.append(", bankAccount='").append(bankAccount).append('\'');
		sb.append(", bankAccountMoney=").append(bankAccountMoney);
		sb.append(", createDate=").append(createDate);
		sb.append(", aliveMoney=").append(aliveMoney);
		sb.append(", timeMoney=").append(timeMoney);
		sb.append(", debtMoney=").append(debtMoney);
		sb.append(", usableMoney=").append(usableMoney);
		sb.append(", portFlag='").append(portFlag).append('\'');
		sb.append(", delFlag='").append(delFlag).append('\'');
		sb.append(", areaId=").append(areaId);
		sb.append(", remark='").append(remark).append('\'');
		sb.append(", depositMoney=").append(depositMoney);
		sb.append('}');
		return sb.toString();
	}
}
